module.exports = {
  // publicPath: "/", //默认值
  // transpileDependencies: true,
  productionSourceMap: false,
  // runtimeCompiler: true,
  // 配置css
  css: {
    //是否使用css分离插件 ExtractTextPlugin
    //将组件中的 CSS 提取至一个独立的 CSS 文件中 (而不是动态注入到 JavaScript 中的 inline 代码)。
    extract: true,
    //是否为 CSS 开启 source map。设置为 true 之后可能会影响构建的性能。
    sourceMap: false,
    // css预设器配置项 支持css-loader postcss-loader sass-loader  less-loader  stylus-loader
    loaderOptions: {
      sass: {
        //引入全局变量
        additionalData: `@import "@/assets/css/variables.scss";`,
      },
    },
  },
  chainWebpack: (config) => {
    if (process.env.NODE_ENV === "production") {
      config.optimization.minimizer("terser").tap((args) => {
        // 注释console.*
        // args[0].terserOptions.compress.drop_console = true;
        // remove debugger
        args[0].terserOptions.compress.drop_debugger = true;
        return args;
      })
    }
    config.optimization.splitChunks({
      chunks: 'all',
      cacheGroups: {
        // 将elementUI拆分为单个包
        elementUI: {
          name: 'chunk-elementUI',
          // 如果满足多个分组规则时,会根据priority(优先级,值越大优先级越高)被优先级高的分组捕获并提取
          priority: 5,
          // 为了适应cnpm
          test: /[\\/]node_modules[\\/]_?element-ui(.*)/
        },
        echarts: { // split echarts libs
          name: 'chunk-echarts',
          test: /[\\/]node_modules[\\/]_?echarts(.*)/,
          priority: 10,
          chunks: 'async',
          reuseExistingChunk: true
        },
        default: {
          minChunks: 2,
          priority: 0,
          name: 'chunk-default',
          minSize: 0,
        }
      }
    })
  },
  devServer: {
    port: 8080,
    host: "0.0.0.0",
    proxy: {
      "/layerService": {
        target: "http://49.5.7.202:8091",
        changeOrigin: true,
        pathRewrite: {
          // 重写路径
          "^/layerService": "",
        }
      },
      "/dzdt-server": {
        target: "http://119.13.208.104:8080",
        changeOrigin: true,
        ws: false
      }
    },
  },
}
